﻿using System;
using System.Text;
using System.Diagnostics.CodeAnalysis;

namespace Bonobo.Irc
{
    public static class IrcProtocol
    {
        [SuppressMessage("Microsoft.Security", "CA2104:DoNotDeclareReadOnlyMutableReferenceTypes")]
        public static readonly Encoding Encoding = Encoding.UTF8;
        public static readonly Int32 DefaultTcpPort = 6667;

        internal const Int32 MaxArgumentCount = 15;
        internal const Int32 BufferSize = 4096;

        internal const String NewLine = "\r\n";
        internal const Char Space = ' ';
        internal const Char Colon = ':';


        internal static class Requests
        {
            public const String Ping = "PING";
            public const String Pass = "PASS";
            public const String User = "USER";
            public const String Nick = "NICK";
            public const String Pong = "PONG";
            public const String Quit = "QUIT";
        }

        internal static class Replies
        {
            public const String Welcome = "001";
            public const String YourHost = "002";
            public const String Created = "003";
            public const String MyInfo = "004";
        }
    }
}
